Storage systems such as WinFS (Microsoft Windows® Future Storage or Microsoft Windows® File System), for example, allow different kinds of data to be identified by metadata and uses it to set up relationships among data, thereby giving a semantic structure to the data. These relationships can then be used by a relational database to enable searching and dynamic aggregation of the data, allowing the data to be presented in a variety of ways. WinFS includes a relational database engine, derived from the Microsoft® SQL Server 2005 (SQL) database platform, to facilitate this.
However, to allow applications to search and categorize data in such storage systems without knowledge of the structure of the different kinds of data in the system, there is a need for a system that provides applications the ability to just operate on a single set of search properties that is type/format independent rather than operating on the individual types. Storage systems like WinFS also allows for independent software vendors (ISVs) to be able to extend existing data in the system using custom extensions (called entity types) and pick the search properties for their entity types independent of the search properties on the original data that they extended. In such a system, a given unit of data could have a single search property provided from multiple entity types defined by independent ISVs. As a result, only one of these multiple entity types can be picked as the winner that provides the desired search property. These entity types could be owned by different ISVs/applications and it is essential that the winner is picked using a deterministic arbitration policy.
Thus, needed are processes and a system that addresses the shortcomings of the prior art.